package com.tanjun.userservice.apiservice.request.dept;

import com.tanjun.common.annotation.Edit;
import com.tanjun.common.annotation.Insert;
import com.tanjun.common.enums.EnableStatusEnum;
import jakarta.validation.constraints.Null;
import lombok.Data;
import org.hibernate.validator.constraints.Length;
import org.hibernate.validator.constraints.Range;

import jakarta.validation.constraints.NotNull;

@Data
public class DeptRequest {
    /**
     * 主键
     */
    @NotNull(groups = Edit.class,message = "id不能为空")
    @Null(groups = Insert.class,message = "新增id只能为空")
    private Long id;

    /**
     * 部门编码
     */
    @Length(min = 1,max =50,message = "部门编码应该1-50个字符")
    @NotNull(message = "部门编码不能为空")
    private String deptCode;

    /**
     * 部门名称
     */
    @Length(min = 1,max =50,message = "部门名称应该1-50个字符")
    @NotNull(message = "部门名称不能为空")
    private String deptName;

    /**
     * 父级id
     */
    @NotNull(message = "父级编码不能为空")
    private Long parentId;

    /**
     * 排序
     */
    @Range(min = 0,max = 100, message = "排序应该1-100")
    private Integer sort;

    /**
     * 状态(1:可用 0：不可不用)
     */
    @NotNull(message = "是否可用不能为空")
    private EnableStatusEnum status;
}
